package org.jheuristics.util;


public interface GenEnum {

	/**
	 * TODO
	 *
	 * @return
	 */
	public GenEnum up();

	/**
	 * TODO
	 *
	 * @return
	 */
	public GenEnum down();

	/**
	 * TODO
	 *
	 * @param random
	 * @return
	 */
	public GenEnum random(RandomGenerator random);

	/**
	 * TODO
	 *
	 * @return
	 */
	public boolean canUp();

	/**
	 * TODO
	 *
	 * @return
	 */
	public boolean canDown();

	/**
	 * TODO
	 *
	 * @return
	 */
	public int getValue();

	/**
	 * TODO
	 *
	 * @return
	 */
	public int getMaximum();

}